taBackup v1.02
a simple backup program

taBackup is a backup program that allows you to define file sets and to write small scripts for making backups to CF-disks or for synchronising two folders. I started writing this program two years ago, because I didn't find a similar program. Today the situation has changed a little bit, but I think the program is still useful.

Use it at your own risk. Read the "Known Problems & Limitations" section. I've used this program for quite a while now and it seems to work quite well, but it's always possible that some newer changes have some unexpected side effects. As the main task of this program is copying files, some malfunction could possibly involve accidental deletion of your data. This hasn't happened so far, but it is possible. In any case, I cannot be made responsible for any damages, data loss etc. caused by this program.

Copyright (C) 1999-2000, Thomas Link <t.link@gmx.at>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Download

GNU-License:
http://www.gnu.org/copyleft/gpl.html

Homepage:
http://webplanet.lion.cc/jupiter/320094/taBackup.htm

SIS-file:
http://webplanet.lion.cc/jupiter/320094/taBackup.zip

Sources:
http://webplanet.lion.cc/jupiter/320094/taBackup-src.zip

Installation

The following should be taken into account before installation:

Settings

In order to use this program you will have to define file sets or scripts. Therefore, you have to edit the configuration file. Press ctrl+f, choose "Config" from the button bar, or "Configure filesets" from the menu. See the section about the configuration file to find out how to define file sets.

On the main screen, tap onto the text area or press the enter key to bring up the main dialog. In case you just want to play around a little bit, choose "Preview" from the "Action" menu.

Action: modes of operation

Mode: modes of copying files (A to B)

Backup Set: select a file set or script as defined in the configuration file

Pattern: restrict a backup set using OPL pattern matching:
? matches any single character
* matches any group of characters.

Empty folders: to create or not to create, this is the question. If you wish to reconstruct the directory structure, select "create"

Keep versions: number of older versions you want to keep. As long as you don't have a really large CF-disk, change its value only for specific scripts using the set-command. If you reduce the number of versions you want to keep, superfluous files are deleted. This behaviour can be changed by setting the appropriate option -- see the "Options" section.

Log level: Determines how detailed the log should be. In case the program functions as expected, choose level 2 or 3.

Catalog, Image

In the catalog any file copying is registered. You can review this catalog and restore files from the backup disk.

An "image" is basically the same as a catalog, with the exception that only the files last encountered are registered. The image is stored in the destination directory.

Both features have to be enabled by selecting the appropriate option -- "Build Catalog" or "Build Image" -- in the preference dialog.

The find command supports simple pattern matching using the "*"-wildcard.

Tip:
Cross-check: use this option in conjunction with "Build catalogs" in order to check for anomalies.

Configuration file

Example configuration file:

[fileset]
Word Documents
*
C:\**HOME\
D:\Backup\**HOME\
type=Word

[fileset]
ini-Files (System)
*.ini
C:\System\
D:\Backup\System\

[script]
Cleanup
del C:\System\Temp\*
del C:\System\Wtldata\Cache.wtd

[exclude]
C:\System\Temp\*
C:\System\Wtldata\*

[uid]
taBackup=268457420

Backup Sets

Example entry:

[fileset]
Standard Folder
*
C:\**HOME\
D:\Backup\**HOME\

[fileset]
ini-Files (System)
*.ini
C:\System\
D:\Backup\System\

Exclude Files

Example entry:

[exclude]
C:\System\Temp\*
C:\System\Wtldata\*

Options

The following options can be defined in the configuration file:

Example entry:

[options]
www = web
editor = taBackup
escape = on

Script Files

Scripts

Scripts contain a series of shell/CLI/DOS like commands. I guess there a better programs around for writing batch scripts, but this didn't keep me from doing my own stuff. Be aware of the fact that most of this is anything else but carefully tested.

Example entry:

[script]
Example script
bak C:\Startup\ D:\Backup\Startup\
sync C:\System\ HD:PsionBackup:System: *.ini
cp "C:\Startup\Test 1" D:\Backup\Startup\Test_1
del "C:\Startup\Test 1"
if exist * del C:\config.txt
if not exist * md C:\Startup\
if days03 * del C:\config.txt
for c:\bat\* d:; c:\download\* d: \\ if days03 * cp **1 **2
set 1 1
label x
print **v01
add 1 1
if < **v01 10 goto x

[script]
test 1
for C:\OPL\* \\ call "test 2" **1

[script]
test 2
print **a1

UIDs

In your configuration file you can define UIDs, in order to determine the owner of a file. These UIDs are appended to the "File Type" menu.

Example entry:

[uid]
taBackup=268457420

Commands

Commands to manipulate slots

FOR

IF

known tests:

Slots

A slot or register is a rather simple mechanism to store data for later retrieval. All slots are global.

Example entry:

[script]
test 1
set$ 1 abc
add 1 1
print **v01 = 4
set$ 1 abc
add$ 1 1
print **v01 = abc1
add 1 0
print v01: **v01 = 4
set 1 1+2
print v01: **v01 = 3
add 1 1+2
print v01: **v01 = 6
set 2 **v01 + 2
print v02: **v02 = 8
set$ 2 **v01 + 2
print v02: **v02 = 6 + 2
eval 2
print v02: **v02 = 8
for C:\OPL\* \\ call "test 2" **1

[script]
test 2
print **a1

The outer space

When speaking about connections from taBackup to the outer world, I refer to the possibility of (1) calling OPL-procedures from within a taBackup script, and of (2) calling taBackup from some other program. The first one is achieved using the "OPL" or the "OPLF" command. The second can be made easier by using command line switches. In a command line perspective, the syntax for calling taBackup is:

taBackup [path to a taBackup file|option ...]

where "option" is one of the following:

If the argument contains a slash ("/"), the whole argument has to be enclosed in single quotes. If the argument contains a slash and a single single quote, you're out of luck. From within a OPL program taBackup can be called by adapting the following example:

include "system.oxh"
proc test:
runapp&:("OPL", "/call=Test /cmd='print /0' /cmd=pause 0", "Rc:\System\Apps\taBackup\taBackup.app", 0)
endp

DOS, Mac, Unix

The program is aware of different file naming conventions. At the moment, this feature is totally (100%) useless. Nevertheless, possible future uses would be: making a backup to a Mac or Unix computer, to a ftp server etc. EpocSync already does synchronisation via ftp. Thus, I don't think that I will implement this feature.

Example entry:

[fileset]
Backup to Mac
*
C:\Dokumente\
HD:PsionBackup:Dokumente:

[fileset]
Backup to Unix
*
C:\Dokumente\
~/PsionBackup/Dokumente/

Future Plans

Known Problems, Limitations, and Unexpected Behaviour

Tip:
Choose "Keep older versions" when synchronising files being edited on different computers. This doesn't make the program copy the right version, but at least the newer version won't be deleted.
Tip:
Choose "Cross-checking".

Version History